//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.182 on Sun Jan 21 11:23:13 2024
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// SampleType                        sampler      NA          NA    0        1
// t101                              texture  float4          2d  101        1
// IniParams                         texture  float4          1d  120        1
// StereoParams                      texture  float4          2d  125        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   x
// TEXCOORD                 0   xy          1     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t101
dcl_resource_texture1d (float,float,float,float) t120
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.x, position
dcl_input_ps linear v1.xy
dcl_output o0.xyzw
dcl_temps 2
ld_indexable(buffer)(float,float,float,float) r0.xy, l(0, 0, 0, 0), t125.xzyw
movc r0.y, r0.y, l(-1.000000), l(1.000000)
ld_indexable(texture1d)(float,float,float,float) r0.z, l(141, 0, 0, 0), t120.yzxw
ld_indexable(texture1d)(float,float,float,float) r0.w, l(144, 0, 0, 0), t120.yzwx
mul r1.x, r0.x, r0.z
mul r1.x, r1.x, l(0.500000)
mul r1.y, -r0.y, r1.x
mad r0.z, -r1.x, -r0.y, r0.z
eq r1.zw, r0.wwww, l(0.000000, 0.000000, 0.000000, 1.000000)
lt r1.xy, v0.xxxx, r1.xyxx
ge r0.z, v0.x, r0.z
or r1.y, r0.z, r1.y
and r1.y, r1.y, r1.z
lt r1.z, r0.y, l(0.000000)
and r1.x, r1.z, r1.x
lt r1.z, l(0.000000), r0.y
and r0.z, r0.z, r1.z
or r0.z, r0.z, r1.x
and r0.z, r0.z, r1.w
or r0.z, r0.z, r1.y
if_nz r0.z
  ld_indexable(texture1d)(float,float,float,float) r1.xyz, l(142, 0, 0, 0), t120.xyzw
  mov o0.xyz, r1.xyzx
  mov o0.w, l(1.000000)
else
  eq r0.z, r0.w, l(2.000000)
  if_nz r0.z
    mul r0.z, r0.y, r0.x
    mad r1.x, r0.x, r0.y, l(1.000000)
    mul r0.z, r0.z, l(0.500000)
    mad r1.x, v1.x, r1.x, -r0.z
    mov r1.y, v1.y
    sample_indexable(texture2d)(float,float,float,float) o0.xyzw, r1.xyxx, t101.xyzw, s0
  else
    eq r0.z, r0.w, l(3.000000)
    if_nz r0.z
      mul r0.z, r0.y, r0.x
      mad r0.x, r0.x, r0.y, l(1.000000)
      mul r0.y, r0.z, l(0.500000)
      mad r0.xy, v1.xyxx, r0.xxxx, -r0.yyyy
      sample_indexable(texture2d)(float,float,float,float) o0.xyzw, r0.xyxx, t101.xyzw, s0
    else
      sample_indexable(texture2d)(float,float,float,float) o0.xyzw, v1.xyxx, t101.xyzw, s0
    endif
  endif
endif
ret
// Approximately 46 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.182 on Sun Jan 21 11:23:13 2024
//
// SamplerState SampleType_s : register(s0);
// Texture2D<float4> t101 : register(t101);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   float2 v1 : TEXCOORD0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = StereoParams.Load(float4(0,0,0,0)).xz;
//   r0.y = r0.y ? -1 : 1;
//   r0.z = IniParams.Load(float4(141,0,0,0)).x;
//   r0.w = IniParams.Load(float4(144,0,0,0)).x;
//   r1.x = r0.z * r0.x;
//   r1.x = 0.5 * r1.x;
//   r1.y = r1.x * -r0.y;
//   r0.z = -r1.x * -r0.y + r0.z;
//   r1.zw = cmp(r0.ww == float2(0,1));
//   r1.xy = cmp(v0.xx < r1.xy);
//   r0.z = cmp(v0.x >= r0.z);
//   r1.y = (int)r0.z | (int)r1.y;
//   r1.y = r1.y ? r1.z : 0;
//   r1.z = cmp(r0.y < 0);
//   r1.x = r1.z ? r1.x : 0;
//   r1.z = cmp(0 < r0.y);
//   r0.z = r0.z ? r1.z : 0;
//   r0.z = (int)r0.z | (int)r1.x;
//   r0.z = r0.z ? r1.w : 0;
//   r0.z = (int)r0.z | (int)r1.y;
//   if (r0.z != 0) {
//     r1.xyz = IniParams.Load(float4(142,0,0,0)).xyz;
//     o0.xyz = r1.xyz;
//     o0.w = 1;
//   } else {
//     r0.z = cmp(r0.w == 2.000000);
//     if (r0.z != 0) {
//       r0.z = r0.x * r0.y;
//       r1.x = r0.x * r0.y + 1;
//       r0.z = 0.5 * r0.z;
//       r1.x = v1.x * r1.x + -r0.z;
//       r1.y = v1.y;
//       o0.xyzw = t101.Sample(SampleType_s, r1.xy).xyzw;
//     } else {
//       r0.z = cmp(r0.w == 3.000000);
//       if (r0.z != 0) {
//         r0.z = r0.x * r0.y;
//         r0.x = r0.x * r0.y + 1;
//         r0.y = 0.5 * r0.z;
//         r0.xy = v1.xy * r0.xx + -r0.yy;
//         o0.xyzw = t101.Sample(SampleType_s, r0.xy).xyzw;
//       } else {
//         o0.xyzw = t101.Sample(SampleType_s, v1.xy).xyzw;
//       }
//     }
//   }
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
